<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
			<!-- saved from url=(0014)about:internet -->
			<html>
	<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta http-equiv="X-UA-Compatible" content="IE=9"><meta name="book" content="ActionScript&nbsp;3.0&nbsp;Language&nbsp;and&nbsp;Open Source Media Framework&nbsp;Reference"><meta name="lang" content="en-us"><meta name="runtime" content="air"><meta name="runtimever" content="air:2"><meta name="product" content="air"><meta name="productver" content="air:2"><link rel="stylesheet" href="../../style.css" type="text/css" media="screen"><link rel="stylesheet" href="../../print.css" type="text/css" media="print"><link rel="stylesheet" href="../../override.css" type="text/css"><link rel="stylesheet" href="../../ion.css" type="text/css"><meta name="keywords" content="IFilePromise,flash.desktop.IFilePromise,isAsync,relativePath,close,open,reportError"><title>flash.desktop.IFilePromise - ActionScript&nbsp;3.0&nbsp;Language&nbsp;and&nbsp;Components&nbsp;Reference (ActionScript 3.0)</title>
	<link rel="stylesheet" href="../../standalone-style.css" type="text/css">
		<script type="text/javascript">
			
				var baseRef = "../../";
				var buildType = 'standalone';
				var alreadyrunflag=0; //flag to indicate whether target function has already been run
if (document.addEventListener)
  document.addEventListener("DOMContentLoaded", function(){alreadyrunflag=1; init()}, false)
else if (document.all && !window.opera){
 /* blocks IE from working, as it's fired before dom if ready
  document.write('<script type="text/javascript" id="contentloadtag" defer="defer" src="javascript:void(0)"><\/script>')
  var contentloadtag=document.getElementById("contentloadtag")
  contentloadtag.onreadystatechange=function(){
    if (this.readyState=="complete"){
      alreadyrunflag=1;
      init();
    }
  }*/
} else if(/Safari/i.test(navigator.userAgent)){ //Test for Safari
  var _timer=setInterval(function(){
  if(/loaded|complete/.test(document.readyState)){
    clearInterval(_timer)
    init() // call target function
  }}, 10)
}		
function onLoadFunction() {
	setTimeout("if (!alreadyrunflag) init()", 0);
}
function submitValueStandaloneSearch(){
var searchStr=document.getElementById('search-livedocs').value;
window.location=baseRef+"search.html"+"###"+searchStr;
}


		</script>
		<script language="javascript" type="text/javascript" src="../../cookies.js"></script>
		<script language="javascript" type="text/javascript" src="../../asdoc.js"></script>
		<!--oss:off-->
	</head>
	<body onLoad="onLoadFunction()">
		<a name="top"></a>
		
		<table class="titleTable" cellpadding="0" cellspacing="0">
		  <tr>
			<td>
			  <table class="titleTable" cellpadding="0" cellspacing="0">
				<tr>
				  <td class="titleTableTitle" align="left" nowrap="true">ActionScript&nbsp;3.0&nbsp;Language&nbsp;and&nbsp;Open Source Media Framework&nbsp;Reference<br>
				  <span class="titleTableTopNav">
				  <a id="showtoc" onClick="showHideTOC(true)" href="#top" style="display:">Show Packages and Classes List</a><a id="hidetoc" onClick="showHideTOC(false)" href="#top" style="display:none">Hide Packages and Classes List</a>&nbsp;|&nbsp;
				  <a href="../../package-summary.html"> Packages </a>&nbsp;|&nbsp;
			      <a href="../../class-summary.html"> Classes </a>&nbsp;|&nbsp;
				  <a href="../../all-index-Symbols.html"> Index </a>&nbsp;|&nbsp;
				  <a href="../../appendixes.html"> Appendixes </a><br>
				  </span>	
				  </td>
				  <td class="titleTableSearch" align="right" nowrap="true">
				  <span id="gsa" class="gsa">
				<form class="searchForm" method="get" action="../../search.html" onSubmit="submitValueStandaloneSearch()">
				  <input class="hidden" name="loc" value="" type="hidden">
				  <input class="hidden" name="termPrefix" value="" type="hidden">
				  <input class="hidden" name="term" value="" type="hidden">
				  <input class="hidden" name="area" value="" type="hidden">
				  <input class="searchinput" id="search-livedocs" name="search_text" value="" title="" type="text">
				  <input type="button" name="action" value="" onClick="submitValueStandaloneSearch()" class="searchbutton">
				  </form>
				  </span>				  
				  </td>
				</tr>
			  </table>			
			  </td>
			<td class="titleTableLogo" align="right" rowspan="3"><img src="../../images/logoION.jpg" class="logoImageION" alt=" Adobe Logo " title=" Adobe Logo "></td>
		  </tr>
		  <tr>
			<td colspan="2">
			  <table class="titleTable" cellpadding="0" cellspacing="0">
				<tr class="titleTableRow2">
				<td class="titleTableSubTitle" id="subTitle" align="left" colspan="2">
					<a href="package-detail.html" id="packageName" style="font-size:11px;">flash.desktop&nbsp;</a><br>
					<convert>IFilePromise&nbsp;</convert>
				</td>
				<td class="titleTableSubNav" id="subNav" align="right">
				  <a id="propertiesLink" href="#top" onClick="javascript:titleBar_gotoClassFrameAnchor('propertySummary');" style="display:none"> Properties </a>
				  <span id="propertiesBar" style="display:none"> | </span>
				  <a id="packagePropertiesLink" href="#top" onClick="javascript:titleBar_gotoClassFrameAnchor('propertySummary');" style="display:none"> Properties </a>
				  <span id="packagePropertiesBar" style="display:none"> | </span>
				  <a id="constructorLink" href="#top" onClick="javascript:titleBar_gotoClassFrameAnchor('constructorSummary');" style="display:none"> Constructor </a>
				  <span id="constructorBar" style="display:none"> | </span>
				  <a id="methodsLink" href="#top" onClick="javascript:titleBar_gotoClassFrameAnchor('methodSummary');" style="display:none"> Methods </a>
				  <span id="methodsBar" style="display:none"> | </span>
				  <a id="packageFunctionsLink" href="#top" onClick="javascript:titleBar_gotoClassFrameAnchor('methodSummary');" style="display:none"> Functions </a>
				  <span id="packageFunctionsBar" style="display:none"> | </span>
				  <a id="eventsLink" href="#top" onClick="javascript:titleBar_gotoClassFrameAnchor('eventSummary');" style="display:none"> Events </a>
				  <span id="eventsBar" style="display:none"> | </span>
				  <a id="stylesLink" href="#top" onClick="javascript:titleBar_gotoClassFrameAnchor('styleSummary');" style="display:none"> Styles </a>
				  <span id="stylesBar" style="display:none"> | </span>
				  <a id="SkinPartLink" href="#top" onClick="javascript:titleBar_gotoClassFrameAnchor('SkinPartSummary');" style="display:none"> Skin Parts </a>
				  <span id="SkinPartBar" style="display:none"> | </span>
				  <a id="SkinStateLink" href="#top" onClick="javascript:titleBar_gotoClassFrameAnchor('SkinStateSummary');" style="display:none"> Skin States </a>
				  <span id="SkinStateBar" style="display:none"> | </span>
				  <a id="effectsLink" href="#top" onClick="javascript:titleBar_gotoClassFrameAnchor('effectSummary');" style="display:none"> Effects </a>
				  <span id="effectsBar" style="display:none"> | </span>
				  <a id="constantsLink" href="#top" onClick="javascript:titleBar_gotoClassFrameAnchor('constantSummary');" style="display:none"> Constants </a>
				  <span id="constantsBar" style="display:none"> | </span>
				  <a id="packageConstantsLink" href="#top" onClick="javascript:titleBar_gotoClassFrameAnchor('constantSummary');" style="display:none"> Constants </a>
				  <span id="packageConstantsBar" style="display:none"> | </span>
				  <a id="interfacesLink" href="#top" onClick="javascript:titleBar_gotoClassFrameAnchor('interfaceSummary');" style="display:none"> Interfaces </a>
				  <span id="interfacesBar" style="display:none"> | </span>
				  <a id="classesLink" href="#top" onClick="javascript:titleBar_gotoClassFrameAnchor('classSummary');" style="display:none"> Classes </a>
				  <span id="classesBar" style="display:none"> | </span>
				  <a id="packageUseLink" href="#top" onClick="javascript:titleBar_gotoClassFrameAnchor('package-use.html');" style="display:none">Use</a>
				  <span id="packageUseBar" style="display:none"> | </span>
				  <a id="examplesLink" href="#top" onClick="javascript:titleBar_gotoClassFrameAnchor('includeExamplesSummary');" style="display:none"> Examples </a>
				</td>
				</tr>
				<tr class="titleTableRow3">
				  <td colspan="4"></td>
				</tr>
			  </table>
			</td>
		  </tr>
		</table>
        <div class="maincontainer" id="maincontainer" style="display:none">
			<div class="mainleft" id="toc">
				<div id="packagelist" class="packagelist"></div>
				<div class="h_splitter" id="h_splitter" onMouseDown="h_splitterMouseDown(event, this);" onMouseUp="h_splitterMouseUp(event);" onMouseMove="h_splitterMouseMove(event);"></div>
				<div id="classlist" class="classlist">
					<div class="classlistoutline"></div>
				</div>
			</div>
			<div class="splitter" id="splitter" onMouseDown="splitterMouseDown(event, this);" onMouseUp="splitterMouseUp(event);" onMouseMove="splitterMouseMove(event);">
			</div>
			<!--oss:on--><div class="mainright" id="content">
				<div class="content"><div xmlns:xd="http://www.pnp-software.com/XSLTdoc" class="MainContent"><table class="classHeaderTable" cellpadding="0" cellspacing="0"><tr><td class="classHeaderTableLabel">Package</td><td><a href="package-detail.html" onclick="javascript:loadClassListFrame('class-list.html')">flash.desktop</a></td></tr><tr><td class="classHeaderTableLabel">Interface</td><td class="classSignature">public  interface  IFilePromise</td></tr><tr><td class="classHeaderTableLabel">Implementors</td><td> <a href="../../flash/media/MediaPromise.html">MediaPromise</a>,  <a href="../../air/desktop/URLFilePromise.html">URLFilePromise</a></td></tr></table><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Language Version:&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Runtime Versions:&nbsp;</b></td><td>AIR 2</td></tr></table><p></p><div id="badgeAnchorSupport" class="ionBadgeWrapper"></div><div id="badgeContainerSupport"></div><p></p><p></p>
 The IFilePromise interface defines the interface used by the AIR runtime to read data for a file promise.
 
 <p>A file promise is a drag-and-drop clipboard format that allows a user to drag a file that does not yet 
 exist out of an AIR application. AIR uses the methods and properties defined by the IFilePromise interface
 to access the data to be written when the file promise is dropped.</p>
 
               <p>When a file promise is dropped on a suitable target, AIR calls the IFilePromise <code>open()</code>
 method. The implementation of this method must return the data provider as an object that implements the IDataInput interface.
 The provider object can be one of the built-in classes, such as ByteArray, FileStream, Socket, and URLStream, or
 it can be a custom class.</p>
  
               <p>If the data from the data provider is accessed synchronously, such as with a ByteArray, AIR reads the amount of data indicated by the IDataInput
 <code>bytesAvailable</code> property and writes it to the destination file.</p>
 
               <p>If the data from the data provider is accessed asynchronously, such as with a Socket, AIR uses events dispatched by the provider to regulate
 the process of reading the data and writing it to the file. Data is read at each progress event until a complete or a close
 event is received. The runtime listens for the following events (but a data provider does not need to dispatch every event):</p>
               <ul>
                  <li>Event.OPEN</li>
                  <li>ProgressEvent.PROGRESS</li>
                  <li>ProgressEvent.SOCKET_DATA</li>
                  <li>Event.COMPLETE</li>
                  <li>Event.CLOSE</li>
                  <li>IOErrorEvent.IOERROR</li>
                  <li>SecurityErrorEvent.SECURITY_ERROR</li>
                  <li>HTTPStatusEvent.HTTP_STATUS</li>
                  <li>HTTPStatusEvent.HTTP_RESPONSE_STATUS</li>
               </ul>
 
               <p>Custom data provider classes should dispatch either a <code>progress</code> event or a <code>socketData</code> 
 event when data is available. Likewise, either a <code>complete</code> or a <code>close</code> event should be 
 dispatched when all the requested data has been read. The error events inform the runtime that the data transfer
 has failed and should be aborted. The other events should be dispatched as appropriate to 
 aid in error handling and in debugging application logic.</p>
 
               <p> The methods defined by IFilePromise are only intended to be called by the AIR runtime after a drag and drop operation has completed. 
 Developers should not typically call these methods from their own code. </p>
 
               <p>
                  <b>Note:</b> The URLFilePromise class, available in the air.desktop library implements the IFilePromise interface and uses the URLStream as 
 a data provider. The air.desktop library is included as separate SWF and SWC files in the AIR SDK.</p>
 
            <p></p><p><span class="classHeaderTableLabel">See also</span></p><div class="seeAlso"><a href="Clipboard.html" target="">flash.desktop.Clipboard</a><br/><a href="ClipboardFormats.html" target="">flash.desktop.ClipboardFormats</a><br/><a href="NativeDragManager.html" target="">flash.desktop.NativeDragManager</a></div><br/><hr></div><a xmlns:xd="http://www.pnp-software.com/XSLTdoc" name="propertySummary"></a><div xmlns:xd="http://www.pnp-software.com/XSLTdoc" class="summarySection"><div class="summaryTableTitle">Public Properties</div><table cellspacing="0" cellpadding="3" class="summaryTable " id="summaryTableProperty"><tr><th>&nbsp;</th><th colspan="2">Property</th><th>Defined By</th></tr><tr class="" runtime="AIR::2##"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><span class="sprite AirIcon12x12" alt="AIR-only" title="Only available in the AIR runtime">&nbsp;&nbsp;&nbsp;</span>&nbsp;<a href="#isAsync" class="signatureLink">isAsync</a> : <a href="../../Boolean.html">Boolean</a><div class="summaryTableDescription">[read-only] 
    Indicates whether asynchronous data transfer is supported.</div></td><td class="summaryTableOwnerCol">IFilePromise</td></tr><tr class="" runtime="AIR::2##"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><span class="sprite AirIcon12x12" alt="AIR-only" title="Only available in the AIR runtime">&nbsp;&nbsp;&nbsp;</span>&nbsp;<a href="#relativePath" class="signatureLink">relativePath</a> : <a href="../../String.html">String</a><div class="summaryTableDescription">[read-only] 
    The relative path and file name of the file that will be created by this file promise.</div></td><td class="summaryTableOwnerCol">IFilePromise</td></tr></table></div><a xmlns:xd="http://www.pnp-software.com/XSLTdoc" name="methodSummary"></a><div xmlns:xd="http://www.pnp-software.com/XSLTdoc" class="summarySection"><div class="summaryTableTitle">Public Methods </div><table cellspacing="0" cellpadding="3" class="summaryTable " id="summaryTableMethod"><tr><th>&nbsp;</th><th colspan="2">Method</th><th>Defined By</th></tr><tr class="" runtime="AIR::2##"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><div class="summarySignature"><span class="sprite AirIcon12x12" alt="AIR-only" title="Only available in the AIR runtime">&nbsp;&nbsp;&nbsp;</span>&nbsp;<a href="#close()" class="signatureLink">close</a>():<a href="../../specialTypes.html#void">void</a></div><div class="summaryTableDescription">
    Called by the AIR runtime when it has finished reading all data.</div></td><td class="summaryTableOwnerCol">IFilePromise</td></tr><tr class="" runtime="AIR::2##"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><div class="summarySignature"><span class="sprite AirIcon12x12" alt="AIR-only" title="Only available in the AIR runtime">&nbsp;&nbsp;&nbsp;</span>&nbsp;<a href="#open()" class="signatureLink">open</a>():IDataInput</div><div class="summaryTableDescription">
    Returns the data provider object.</div></td><td class="summaryTableOwnerCol">IFilePromise</td></tr><tr class="" runtime="AIR::2##"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><div class="summarySignature"><span class="sprite AirIcon12x12" alt="AIR-only" title="Only available in the AIR runtime">&nbsp;&nbsp;&nbsp;</span>&nbsp;<a href="#reportError()" class="signatureLink">reportError</a>(e:<a href="../../flash/events/ErrorEvent.html">ErrorEvent</a>):<a href="../../specialTypes.html#void">void</a></div><div class="summaryTableDescription">
    Called by the AIR runtime to inform the IFilePromise implementation of errors 
    that occur when reading data from the data provider object.</div></td><td class="summaryTableOwnerCol">IFilePromise</td></tr></table></div><script xmlns:xd="http://www.pnp-software.com/XSLTdoc" language="javascript" type="text/javascript"><!--                      
                      showHideInherited();                      
                      --></script><div xmlns:xd="http://www.pnp-software.com/XSLTdoc" class="MainContent"><div class="detailSectionHeader">Property Detail</div><span id="pageFilter" runtime="AIR::2##"><a name="propertyDetail"></a><a name="isAsync"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName"><span class="sprite AirIcon12x12" alt="AIR-only" title="Only available in the AIR runtime">&nbsp;&nbsp;&nbsp;</span>&nbsp;<h2>isAsync</h2></td><td class="detailHeaderType">property</td></tr></table><div class="detailBody"><code>isAsync:<a href="../../Boolean.html">Boolean</a></code>&nbsp;&nbsp;[read-only] <p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Language Version:&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Runtime Versions:&nbsp;</b></td><td>AIR 2</td></tr></table><p></p><p></p><p>
    Indicates whether asynchronous data transfer is supported.
    
    <p>If <code>true</code>, then the data provider object returned by the <code>open()</code> method must implement the 
    IEventDispatcher interface (or extend a class implementing this interface). The data transfer is driven by 
    <code>progress</code> or <code>socketData</code> events. AIR waits for these data progress events until a 
    <code>complete</code> or a <code>close</code> event is dispatched.</p>  
    
    <p>If <code>isAsync</code> returns false, then the AIR runtime assumes that all data is available immediately. 
    In this case, the runtime reads the <code>bytesAvailable</code> property of the data provider object 
    to determine the amount of data available and synchronously reads that amount of data.</p> 
    
    </p><br/><br/><span class="label"> Implementation </span><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function get isAsync():<a href="../../Boolean.html">Boolean</a></code><br/></div></span><span id="pageFilter" runtime="AIR::2##"><a name="propertyDetail"></a><a name="relativePath"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName"><span class="sprite AirIcon12x12" alt="AIR-only" title="Only available in the AIR runtime">&nbsp;&nbsp;&nbsp;</span>&nbsp;<h2>relativePath</h2></td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>relativePath:<a href="../../String.html">String</a></code>&nbsp;&nbsp;[read-only] <p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Language Version:&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Runtime Versions:&nbsp;</b></td><td>AIR 2</td></tr></table><p></p><p></p><p>
    The relative path and file name of the file that will be created by this file promise.
    
    <p>This property must provide a valid path or an argument error is thrown when the file promise is dropped.</p>
    
    <p>The path can include subdirectories, which are resolved based on the drop location. The subdirectories are created,
    if needed. When including subdirectories, use the <code>File.separator</code> constant to insert the
    proper path separator character for the current operating system. Using the .. shortcut to navigate to a parent directory 
    is not allowed. If attempted, an argument error is thrown. Invalid file system characters are stripped from the path
	without throwing an error.</p>
    
    <p><b>Note:</b> To allow client code to set the path, you can implement a setter function with the signature: 
    <code>function set relativePath( value:String ):void</code>.</p>
    
	</p><br/><br/><span class="label"> Implementation </span><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function get relativePath():<a href="../../String.html">String</a></code><br/><br/><span class="label"> Throws </span><br/><table cellpadding="0" cellspacing="0" border="0"><tr><td width="20"></td><td><code><a href="../../ArgumentError.html">ArgumentError</a> </code> &mdash; if the relative path uses .. shortcuts to traverse one or more parent directories 
	of the drop target. 
	
    </td></tr></table></div></span><a name="methodDetail"></a><div class="detailSectionHeader">Method Detail</div><span id="pageFilter" runtime="AIR::2##"><a name="close()"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName"><h2><span class="sprite AirIcon12x12" alt="AIR-only" title="Only available in the AIR runtime">&nbsp;&nbsp;&nbsp;</span>&nbsp;close</h2></td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td></tr></table><div class="detailBody"><code> public function close():<a href="../../specialTypes.html#void">void</a></code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Language Version:&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Runtime Versions:&nbsp;</b></td><td>AIR 2</td></tr></table><p></p><p></p><p>
    Called by the AIR runtime when it has finished reading all data.
    
    <p>No methods will be called on the object reference returned by <code>open()</code> after <code>close()</code> has been called. 
    The data provider object can be safely destroyed.</p>
    
    </p></div></span><span id="pageFilter" runtime="AIR::2##"><a name="open()"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName"><h2><span class="sprite AirIcon12x12" alt="AIR-only" title="Only available in the AIR runtime">&nbsp;&nbsp;&nbsp;</span>&nbsp;open</h2></td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code> public function open():IDataInput</code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Language Version:&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Runtime Versions:&nbsp;</b></td><td>AIR 2</td></tr></table><p></p><p></p><p>
    Returns the data provider object.
    
    <p>The data provider object must implement the IDataInput interface, which defines methods for reading
    data. If the IFilePromise <code>isAsync</code> property returns <code>true</code>, then the data
    provider object must also implement the IEventDispatcher interface. The following built-in classes can
    be used as a data provider:</p>
    <ul><li>ByteArray (synchronous)</li><li>FileStream (synchronous or asynchronous)</li><li>Socket (asynchronous)</li><li>URLStream (asynchronous)</li></ul>
    <p>You can also provide an object of a custom class that implements the required interfaces (or extends 
    another class that implements them).</p>
    
    </p><p></p><span class="label">Returns</span><table cellpadding="0" cellspacing="0" border="0"><tr><td width="20"></td><td><code>IDataInput</code> &mdash; IDataInput An object implementing the IDataInput interface. If the data is provided asynchronously,
    the returned object must also implement the IEventDispatcher interface.
    
    </td></tr></table></div></span><span id="pageFilter" runtime="AIR::2##"><a name="reportError()"></a><a name="reportError(flash.events.ErrorEvent)"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName"><h2><span class="sprite AirIcon12x12" alt="AIR-only" title="Only available in the AIR runtime">&nbsp;&nbsp;&nbsp;</span>&nbsp;reportError</h2></td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code> public function reportError(e:<a href="../../flash/events/ErrorEvent.html">ErrorEvent</a>):<a href="../../specialTypes.html#void">void</a></code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Language Version:&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Runtime Versions:&nbsp;</b></td><td>AIR 2</td></tr></table><p></p><p></p><p>
    Called by the AIR runtime to inform the IFilePromise implementation of errors 
    that occur when reading data from the data provider object.
     
    </p><p><span class="label"> Parameters </span><table cellpadding="0" cellspacing="0" border="0"><tr><td width="20px"></td><td><code><span class="label">e</span>:<a href="../../flash/events/ErrorEvent.html">ErrorEvent</a></code> &mdash; The error event containing detailed error information.
    
    </td></tr></table></p></div></span><br/><br/><hr><br/><script language="javascript" type="text/javascript" xml:space="preserve">                
                                            
        				
        <!--				
          				    				
          					
          if (!isEclipse() || window.name != ECLIPSE_FRAME_NAME) {titleBar_setSubTitle(""); titleBar_setSubNav(false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false);}				    
          				        				    
          				
        -->                
                                            
        			
      </script></div><p xmlns:xd="http://www.pnp-software.com/XSLTdoc"></p><center class="copyright"> &copy; 2011 Adobe Systems Incorporated. All rights reserved. <br/>Sun Sep 4 2011, 08:07 PM -07:00  </center></div>
				<div class="contentfooter"><div class="separator">&nbsp;</div><p id="creativecommons" class="creativecommons"><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="external"><span class="sprite CC">&nbsp;</span></a></p><a class="legal" target="external" href="">Legal Notices</a>&nbsp;|&nbsp;<a class="privacy" href="http://www.adobe.com/misc/privacy.html" target="external">Online Privacy Policy</a></div>
			</div>
		</div>
		<div class="footer">
		</div>
	</body>
</html><!-- &copy; 2011 Adobe Systems Incorporated. All rights reserved. <br/>Sun Sep 4 2011, 08:07 PM -07:00  -->
